package com.icangya.service;

import com.alibaba.fastjson.JSONObject;
import com.icangya.domain.AdvertClick;
import com.icangya.domain.AdvertRecord;

import java.util.List;


public interface IAdvertService {

    /**
     *
     *添加广告信息
     * @param advertRecord
     * @return
     */
    AdvertRecord addAdvertRecord(AdvertRecord advertRecord, String[] fileUrl,  int status);

    /**
     * 判断用户发布广告时的广告金余额是否充足
     * @param openId
     * @param advertTopMoney
     * @return
     */
    Boolean checkAdvertMoney(String openId,double advertTopMoney,int status);
    /**
     * 添加广告点击信息
     *@param advertClick
     * @return
     */
    AdvertClick addAdvertClick(AdvertClick advertClick);

    /**
     * 查询所有广告信息
     * @return
     */
    JSONObject getAdvert(int startPage,int advertRow);

    /**
     * 查询前一千条广告记录
     * @return
     */
    List getAdvertRecordShame();
    /**
     * 给指定广告修改虚假浏览量
     * @param id
     * @param ramd
     * @return
     */
    int updateAdvertShampageview(long id ,long ramd);

    /**
     * 获取用户未点击的广告
     * @return
     */
    JSONObject getAdvertNotClick(String openId, int startPage);
    /**
     * 根据广告编号删除广告
     * @param advertId
     * @return
     */
    Boolean deleteAdvertById(long advertId);

    /**
    * 查询单个用户发布的所有广告信息
    *@param openId  用户ID
    *
    */
    JSONObject getAdvertAll(String openId);


    /**
     * 修改用户发布的该条广告的金额
     * @param uid
     * @param money
     * @return
     */
    Boolean updateAdvertMoney(long uid,double money);


    /**
     * 判断用户是否已经存在点击记录
     * @param openId
     * @param advertId
     * @return
     */
    boolean checkAdvertByOpenId(String openId, Long advertId);

    /**
     * 获取单条广告信息
     * @param id
     * */
    AdvertRecord getAdvertRecord(Long id);
    /**
     * 获取单条广告信息
     * @param advertId
     * */
    JSONObject getAdvertById(Long advertId);
}
